// app/extend/application.js
// 可以通过 app 对象将一些常用的方法或数据挂载到应用程序中，
// 以便在其他地方方便地访问。
function UserInfoSchema() {
    return {
        email: { 
            type: String,
            unique: true, // 属性值必须唯一
            required: true,
            trim: true, // 属性值去除两端的空格
            lowercase: true,
            match: [/^\S+@\S+\.\S+$/, 'Please fill a valid email address'], // 属性值必须符合指定的正则表达式。
          },
          image: { 
            type: String,
            trim: true,
            validate: {
              validator: (v) => {
                if (!v) {
                  return true;
                }
                return /^https?:\/\/\S+$/.test(v);
              },
              message: (props) => `${props.value} is not a valid URL!`,
            },
          },
          bio: { type: String },
    }
}

module.exports = {
    commonSchema: {
        UserInfoSchema
    },
  }